Aproximación o ajuste a una curva usando el método de mínimos cuadrados
- Es una técnica de cálculo en la que, dado un conjunto de pares ordenados \((x, y)\) y una familia de funciones (cuadráticas, exponenciales, polinómicas, etc.), se intenta encontrar la función continua que mejor se aproxime a los puntos dados con el criterio de mínimo error cuadrático.
- Dado un conjunto de valores que podemos plasmar en un sistema de coordenadas, buscamos encontrar una función que, sin ser solución exacta de esos puntos, nos dé la mejor de las aproximaciones a esos puntos.
Nosotros tenemos que elegir la función que mejor se puede ajustar a los datos que tenemos.
La función de aproximación se define de esta manera
\[
f(x) = \sum_{j=1}^{m} \theta_j \phi_j(x)
\]
Donde:
- \(m\) es la cantidad de términos de la función de aproximación.
- \( \theta_j \) es el coeficiente del término \( \phi_j(x) \).
- \( \phi_j(x) \) es el término \(j\) de la función de aproximación.
- \(\phi_1(x) = x^2\)
- \(\phi_2(x) = x\)
- \(\phi_3(x) = 1\)
Función de error o funcional de desviación
La función de error la definimos utilizando el criterio de mínimo error cuadrático: \[ S = \sum_{i=1}^{n} (y_i - f(x_i))^2 \] Donde:- \( y_i \) = valor real del dato
- \( f(x_i) \) la función que estamos evaluando
- \( n \) = cantidad de puntos de datos
- Se suman las diferencias al cuadrado para TODOS los puntos de datos
Porque usamos error cuadrático en lugar de error absoluto o función módulo?
Porque no está definida la derivada para el valor absoluto y necesitamos la derivada para encontrar el mínimo de la función.Reemplazar función a evaluar en la función de desviación
Función a evaluar: \[ \color{purple} f(x) = \sum_{j=1}^{m} \theta_j \phi_j(x) \] Función de error: \[ S = \sum_{i=1}^{n} (y_i - \color{purple} f(x_i) \color{black} )^2 \] \[ S = \sum_{i=1}^{n} (y_i - \color{purple} \sum_{j=1}^{m} \theta_j \phi_j(x_i) \color{black} )^2 \]Calcular derivadas parciales
Podemos ver la función de error de la siguiente manera:\(S = u^2\)
\(S' = 2uu'\)
Entonces: \[ u = \sum_{i=1}^{n} \left( y_i - \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \] Las variables que buscamos obtener son \(\color{brown}\theta_j\), por lo tanto las constantes son los términos \(\color{blue}\phi_j(x_i) \) \[ u = \sum_{i=1}^{n} \left( y_i - (\sum_{j=1}^{m} \color{brown} \theta_j \color{blue} \phi_j(x_i) \color{black} ) \right) \] Entonces, dado que la derivada de \(y=\color{blue}c \color{brown} x\) es \(y'=\color{blue}c\) las derivadas parciales son: \[ \frac{\partial u }{\partial \color{brown} \theta_k} = - \color{blue} \phi_k(x_i) \color{black} \] Por tanto \(S'\) queda: \[ \frac{\partial S }{\partial \color{brown} \theta_k} = 2 \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \color{brown} \theta_j \color{blue} \phi_j(x_i) \color{black} \right) \right) (- \color{blue} \phi_k(x_i) \color{black} ) \right] \] A esta primera derivada la igualamos a \(0\) \[ \frac{\partial S }{\partial \theta_k} = 2 \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) (- \phi_k(x_i)) \right] = 0 \] Quitamos el \(2\): \[ \frac{\partial S }{\partial \theta_k} = \frac{2}{ \color{orange} 2 \color{black} } \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) (- \phi_k(x_i)) \right] = \frac{0}{\color{orange} 2 \color{black} } \] \[ \frac{\partial S }{\partial \theta_k} = \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) (- \phi_k(x_i)) \right] = 0 \] Quitamos el singno negativo de \( (\color{orange} - \color{black} \phi_k(x_i)) \): \[ \frac{\partial S }{\partial \theta_k} = \frac{1}{\color{orange} -1 \color{black}} \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) (- \phi_k(x_i)) \right] = \frac{0}{\color{orange} -1 \color{black}} \] \[ \frac{\partial S }{\partial \theta_k} = \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) \frac{( \color{orange} - \color{black}\phi_k(x_i))}{\color{orange} -1 \color{black}} \right] = \frac{0}{\color{orange} -1 \color{black}} \] \[ \frac{\partial S }{\partial \theta_k} = \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) (\phi_k(x_i)) \right] = 0 \] Hacemos distributiva de \( \color{orange} (\phi_k(x_i)) \color{black} \) \[ \frac{\partial S }{\partial \theta_k} = \sum_{i=1}^{n} \left[ \left( y_i - \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) \color{orange} (\phi_k(x_i)) \color{black} \right] = 0 \] \[ \frac{\partial S }{\partial \theta_k} = \sum_{i=1}^{n} \left( \color{orange} (\phi_k(x_i)) \color{black} y_i - \color{orange} (\phi_k(x_i)) \color{black} \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) = 0 \] Hacemos distributiva de \( \color{green}\sum_{i=1}^{n}\color{black} \) \[ \frac{\partial S }{\partial \theta_k} = \color{green} \sum_{i=1}^{n} \color{black} \left( (\phi_k(x_i)) y_i - (\phi_k(x_i)) \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) \right) = 0 \] \[ \frac{\partial S }{\partial \theta_k} = \color{green}\sum_{i=1}^{n}\color{black} (\phi_k(x_i)) y_i - \color{green}\sum_{i=1}^{n}\color{black} (- \phi_k(x_i)) \left( \sum_{j=1}^{m} \theta_j \phi_j(x_i) \right) = 0 \] \[ \frac{\partial S }{\partial \theta_k} = \sum_{i=1}^{n} y_i \phi_k(x_i) - \sum_{j=1}^{m} \sum_{i=1}^{n} \theta_j \phi_j(x_i) \phi_k(x_i) = 0 \] \[ \frac{\partial S }{\partial \theta_k} = \sum_{i=1}^{n} y_i \phi_k(x_i) - \sum_{j=1}^{m} \theta_j \sum_{i=1}^{n} \phi_j(x_i) \phi_k(x_i) = 0 \] Pasamos \( \sum_{i=1}^{n} y_i \phi_k(x_i) \) al otro lado de la ecuación \[ \boxed{ \sum_{j=1}^{m} \theta_j \sum_{i=1}^{n} \phi_j(x_i) \phi_k(x_i) = \sum_{i=1}^{n} y_i \phi_k(x_i) } \] Si generalizamos las derivadas parciales nos queda que: \[ \theta_j \phi(x_i) \rightarrow \phi(x_i) \] Entonces ahora si desarrollamos sumatorias y armamos el sistema de ecuaciones lineales: \[ \color{magenta} \sum_{j=1}^{m} \color{black} \theta_{ \color{magenta} j \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} j \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} k \color{black} } (x_{ \color{orange} i \color{black} }) = \color{orange} \sum_{i=1}^{n} \color{black} y_{ \color{orange} i \color{black} } \phi_{ \color{limegreen} k \color{black} }(x_{ \color{orange} i \color{black} }) \] \[ { \theta_{ \color{magenta} 1 \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 1 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 1 \color{black} } (x_{ \color{orange} i \color{black} }) } + { \theta_{ \color{magenta} 2 \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 2 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 1 \color{black} } (x_{ \color{orange} i \color{black} }) } + \cdots + { \theta_{ \color{magenta} j \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} j \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 1 \color{black} } (x_{ \color{orange} i \color{black} }) } = \color{orange}\sum_{i=1}^{n} \color{black} y_{ \color{orange} i \color{black} } \phi_{\color{limegreen} 1 \color{black} }(x_{ \color{orange} i \color{black} }) \] \[ { \theta_{ \color{magenta} 1 \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 1 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 2 \color{black} } (x_{ \color{orange} i \color{black} }) } + { \theta_{ \color{magenta} 2 \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 2 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 2 \color{black} } (x_{ \color{orange} i \color{black} }) } + \cdots + { \theta_{ \color{magenta} j \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} j \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 2 \color{black} } (x_{ \color{orange} i \color{black} }) } = \color{orange}\sum_{i=1}^{n} \color{black} y_{ \color{orange} i \color{black} } \phi_{\color{limegreen} 2 \color{black} }(x_{ \color{orange} i \color{black} }) \] \[ \cdots \] \[ { \theta_{ \color{magenta} 1 \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 1 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} k \color{black} } (x_{ \color{orange} i \color{black} }) } + { \theta_{ \color{magenta} 2 \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 2 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} k \color{black} } (x_{ \color{orange} i \color{black} }) } + \cdots + { \theta_{ \color{magenta} j \color{black} } \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} j \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} k \color{black} } (x_{ \color{orange} i \color{black} }) } = \color{orange}\sum_{i=1}^{n} \color{black} y_{ \color{orange} i \color{black} } \phi_{\color{limegreen} k \color{black} }(x_{ \color{orange} i \color{black} }) \] Estas ecuaciones se pueden escribir en forma de matrices \[ \begin{bmatrix} { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 1 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 1 \color{black} } (x_{ \color{orange} i \color{black} }) } & { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 2 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 1 \color{black} } (x_{ \color{orange} i \color{black} }) } & \cdots & { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} j \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 1 \color{black} } (x_{ \color{orange} i \color{black} }) } \\ { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 1 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 2 \color{black} } (x_{ \color{orange} i \color{black} }) } & { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 2 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 2 \color{black} } (x_{ \color{orange} i \color{black} }) } & \cdots & { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} j \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} 2 \color{black} } (x_{ \color{orange} i \color{black} }) } \\ \vdots & \vdots & \ddots & \vdots \\ { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 1 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} k \color{black} } (x_{ \color{orange} i \color{black} }) } & { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} 2 \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} k \color{black} } (x_{ \color{orange} i \color{black} }) } & \cdots & { \color{orange} \sum_{i=1}^{n} \color{black} \phi_{ \color{magenta} j \color{black} } (x_{ \color{orange} i \color{black} }) \phi_{ \color{limegreen} k \color{black} } (x_{ \color{orange} i \color{black} }) } \end{bmatrix} \begin{bmatrix} \theta_{ \color{magenta} 1 \color{black} } \\ \theta_{ \color{magenta} 2 \color{black} } \\ \vdots \\ \theta_{ \color{magenta} j \color{black} } \end{bmatrix} = \begin{bmatrix} \color{orange}\sum_{i=1}^{n} \color{black} y_{ \color{orange} i \color{black} } \phi_{\color{limegreen} 1 \color{black} }(x_{ \color{orange} i \color{black} }) \\ \color{orange}\sum_{i=1}^{n} \color{black} y_{ \color{orange} i \color{black} } \phi_{\color{limegreen} 2 \color{black} }(x_{ \color{orange} i \color{black} }) \\ \vdots \\ \color{orange}\sum_{i=1}^{n} \color{black} y_{ \color{orange} i \color{black} } \phi_{\color{limegreen} k \color{black} }(x_{ \color{orange} i \color{black} }) \end{bmatrix} \] Resolviendo el sistema con Gauss, encontraremos los valores de nuestras incógnitas \(\theta\) y obtendremos la función de aproximación. Luego podremos calcular el error si calculamos \(S\)